package day0;

import org.junit.Test;

public class ShiY {
	//杨辉三角
	@Test
	public void test() {
		
		// 定义一个二维数组，高度为10，宽度为10，则长度为10
		int[][] arr = new int[10][10];
		// 遍历并赋值全为0
		for (int i = 0; i < arr.length; i++) {
			// 当i = j时，意为每行打印的数字的个数 = 行数，第一行1个，第二行2个之类的
			for (int j = 0; j < i; j++) {

				if (j == 0 || j == i) {
					// 当j == 0,即每行的行首,j == i,即每行的行尾,设置为1
					arr[i][j] = 1;

				} else {
					// 除行首和行尾的数 = 上一行的本数相同位置前一个 + 上一行的本数相同位置后一个
					arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
				}
				System.out.print(arr[i][j] + "\t");
			}
			System.out.println();
		}
	}
	
	@Test
	public void main() {
		int rows = 10;
		for (int i = 0; i < rows; i++) {
			int number = 1; // 打印空格字符串

			System.out.format("%" + (rows - i) * 2 + "s", "");
			
			for (int j = 0; j <= i; j++) {
				System.out.format("%4d", number);
				number = number * (i - j) / (j + 1);
			}
			System.out.println();
		}
	}

}